package cn.bandeqing.worker.req;

import cn.bandeqing.frame.validation.IdCard;
import cn.bandeqing.frame.validation.Phone;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;

@Data
public class WorkerRegisterReq implements Serializable {


    /**
     * 真实姓名
     */
    @Schema(description = "真实姓名")
    @NotBlank
    private String workerRealName;

    /**
     *
     */
    @Schema(description = "手机号")
    @NotBlank
    @Phone
    private String workerPhone;

    /**
     * 身份证号
     */
    @Schema(description = "身份证号")
    @NotBlank
    @IdCard
    private String workerIdCardNumber;


    /**
     * 0=收纳师 1=搬家小哥
     */
    @Schema(description = "小哥类型")
    @NotNull
    private Integer workerType;


    /**
     * 紧急联系人
     */
    @Schema(description = "紧急联系人")
    @NotBlank
    private String workerEmergencyContact;

    @Schema(description = "紧急联系人电话")
    @NotBlank
    @Phone
    private String workerEmergencyContactPhone;

    /**
     * 民族
     */
    @Schema(description = "民族")
    @NotNull
    private Integer workerNation;

    @Schema(description = "性别")
    @NotNull
    private Integer workerSex;

    /**
     * 年龄
     */
    @Schema(description = "年龄")
    @NotNull
    @Max(150)
    @Min(18)
    private Integer workerAge;

    /**
     * 注册
     */
    @Schema(description = "地址")
    @NotBlank
    private String workerAddress;

    @Schema(description = "lng")
//    @NotNull
    private Double workerAddressLng;

    @Schema(description = "lat")
//    @NotNull
    private Double workerAddressLat;


    /**
     * 工作年限
     */
    @Schema(description = "工作年限")
    @NotNull
    @Max(100)
    @Min(0)
    private Integer workerYear;

    /**
     * 城市编码code
     */
    @Schema(description = "城市code")
    @NotBlank
    private String workerCity;

    @Schema(description = "店铺ID")
    private Long storeId;

    @Schema(description = "店铺名称")
    private String storeName;

}
